package com.ruoyi.system.domain.dto;

/**
 * 图像合成请求参数
 */
public class ImageSynthesisRequest {
    private String model = "wanx2.1-imageedit";
    private Input input;
    private Parameters parameters;

    public static class Input {
        private String function = "description_edit_with_mask";
        private String prompt;
        private String base_image_url;
        private String mask_image_url;

        public String getFunction() {
            return function;
        }

        public void setFunction(String function) {
            this.function = function;
        }

        public String getPrompt() {
            return prompt;
        }

        public void setPrompt(String prompt) {
            this.prompt = prompt;
        }

        public String getBase_image_url() {
            return base_image_url;
        }

        public void setBase_image_url(String base_image_url) {
            this.base_image_url = base_image_url;
        }

        public String getMask_image_url() {
            return mask_image_url;
        }

        public void setMask_image_url(String mask_image_url) {
            this.mask_image_url = mask_image_url;
        }
    }

    public static class Parameters {
        private int n = 1;

        public int getN() {
            return n;
        }

        public void setN(int n) {
            this.n = n;
        }
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public Input getInput() {
        return input;
    }

    public void setInput(Input input) {
        this.input = input;
    }

    public Parameters getParameters() {
        return parameters;
    }

    public void setParameters(Parameters parameters) {
        this.parameters = parameters;
    }

    public static ImageSynthesisRequest create(String prompt, String baseImageUrl, String maskImageUrl) {
        ImageSynthesisRequest request = new ImageSynthesisRequest();
        Input input = new Input();
        input.setPrompt(prompt);
        input.setBase_image_url(baseImageUrl);
        input.setMask_image_url(maskImageUrl);
        request.setInput(input);
        request.setParameters(new Parameters());
        return request;
    }
} 